package com.mtz.service;

import com.mtz.dateobject.Question;

import java.util.ArrayList;
import java.util.List;

/**
 * 问题表
 * @author 煜赜
 * @date 2018/11/27 0027 上午 9:23
 */
public interface QuestionService {

    /** 通过id查找问答 **/
    Question findQuesById(Integer id);

    /** 通过知识类型查找问答 **/
    List<Question> findQuesByKnowledgeType(Integer knowledgeType);

    /** 通过关键词查找问答 **/
    List<Question> findQuesByKeyword(String keyword);

    /** 通过是否删除状态查找问答 **/
    List<Question> findQuesByIsDeleted(Integer isDeleted);

    /** 查找所有问题 **/
    List<Question> findAll();

    /** 新增问题 **/
    Question addQuestion(Integer knowledgeType, String question, String keyword, Integer isDeleted);

    /** 设置问题答案 **/
    void setQuesAnswerId(Integer questionId, Integer answerId);

    /** 更改问题的类目 **/
    void changeKnowledgeType(Integer questionId, Integer knowledgeType);

    /** 发布问题 **/
    void publicQuesById(Integer id);

    /** 设置问题失效 **/
    void invalidQuesById(Integer id);

    /** 删除问题 **/
    void deleteQuesById(Integer id);

    /** 删掉数据库中的问题 **/
    void trueDelete(Integer id);

    /** 新增/修改问题 **/
    Question editQuestion(Integer questionId, String question, String keyword);

    /** 返回所有的问题的关键词 **/
    ArrayList findKeywords();
}
